/**
 * 
 */
package sfeir.authform.client.service;

import sfeir.authform.client.dao.AuthUser;

import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 * @author desaintsteban.p
 *
 */
public interface AuthGWTServiceAsync {
    public void getLoginURL(AsyncCallback<String> callback);
    public void getLogoutURL(AsyncCallback<String> callback);
    public void getCurrentUser(AsyncCallback<AuthUser> callback);
    public void isUserAdmin(AsyncCallback<Boolean> callback);
    public void isUserLoggedIn(AsyncCallback<Boolean> callback);
    public void getAuthType(AsyncCallback<Integer> callback);
    public void signup(AuthUser sign, AsyncCallback<Boolean> callback);
    public void updateUser(AuthUser user, AsyncCallback<Boolean> callback);
    public void deleteUser(AuthUser user, AsyncCallback<Boolean> callback);
    public void login(String login, String password, AsyncCallback<AuthUser> callback);
    public void logout(AsyncCallback<Void> callback);
    public void getLostPassword(String login, AsyncCallback<Boolean> callback);
}
